#pragma once
#include "Block.h"
#include "Cryptor.h"

namespace AppliedCryptography
{
	namespace AC = AppliedCryptography;

	template<unsigned int TKeySize, unsigned int TBlockSize>
	class LastBlockHandler
	{
	public:
		virtual AC::Block<TBlockSize> Process(
			const AC::Cryptor<TKeySize,TBlockSize>& cryptor, 
			const AC::Block<TBlockSize>& last, 
			unsigned int lastBlockLength,
			AC::Block<TBlockSize>& secondToLast) const = 0;
	};
};